Managing the Overall Balance of Operating System Threads on a Multiprocessor Using Automatic Self-Allocating Threads (ASAT)
نویسندگان
چکیده
A multi-threaded runtime environment which supports lightweight threads can be used to support many aspects of parallel processing including: virtual processors, concurrent objects, and compiler run-time environments. This work focuses on the area of compiler run-time environments. Such a library must depend on the underlying thread mechanism provided by the operating system. Threads working on compute intensive tasks work best when there is one thread performing real work on each processor. Matching the number of running threads to the number of processors can yield both good wall-clock run time and good overall machine utilization. The challenge is to schedule threads to maintain one running thread per processor by dynamically adjusting the number of threads as the load on the machine changes. It is generally not efficient to involve the operating system during a thread switch between lightweight threads. As such, a lightweight thread runtime environemnt must operate within the parameters provided by the operating system. This work identifies the situations on a multiprocessing system when the operation of a lightweight thread environment might be negatively impacted by other threads running on the system. The performance impact of these other threads is measured. A solution called Automatic Self Allocating Threads (ASAT) is proposed as a way to balance the number of active threads across a multiprocessing system. Our approach is significant in that it is designed for a system running multiple jobs, and it considers the load of all running jobs in its thread allocation. In addition, the overhead of ASAT is sufficiently small so that the run times of all jobs improve when it is in use. The improvements are achieved by eliminating contention for resources by jobs on the system. Furthermore, our approach uses self-scheduling so it is implemented in a run-time environment rather than in an operating system. Finally, the self-scheduling means that jobs need not all be scheduled by ASAT. This work is based on work supported by the National Science Foundation under Grant No MIP-0209402.
منابع مشابه
Automatic Self - Allocating Threads ( Asat ) on Ansgi
Automatic Self Allocating Threads (ASAT) is proposed as a way to balance the number of active threads across a shared-memory multiprocessing system. Our approach is signiicant in that it is designed for a system running multiple jobs, and it considers the load of all running jobs in its thread allocation. In addition, the overhead of ASAT is suuciently small so that the run times of all jobs im...
متن کاملComparing Gang Scheduling with Dynamic Space Sharing on Symmetric Multiprocessors Using Automatic Self-Allocating Threads (ASAT)
This work considers the best way to handle a diverse mix of multi-threaded and single-threaded jobs running on a single Symmetric Parallel Processing system. The traditional approaches to this problem are free scheduling, gang scheduling, or space sharing. This paper examines a less common technique called dynamic space sharing. One approach to dynamic space sharing, Automatic Self Allocating T...
متن کاملParallel Implementation of Particle Swarm Optimization Variants Using Graphics Processing Unit Platform
There are different variants of Particle Swarm Optimization (PSO) algorithm such as Adaptive Particle Swarm Optimization (APSO) and Particle Swarm Optimization with an Aging Leader and Challengers (ALC-PSO). These algorithms improve the performance of PSO in terms of finding the best solution and accelerating the convergence speed. However, these algorithms are computationally intensive. The go...
متن کاملBased Automatic Self - Adjusting Threads ( ASAT ) for Parallel Processors
A number of commercial companies are now attempting to develop production quality parallel processing systems. These systems are often targeted to take over the role of Vector/Parallel supercomputers. While these systems have excellent raw compute power for their cost, they lag behind traditional supercomputers in a number of important areas. One important area is the ability to deal with wide ...
متن کاملAutomatic Self-Allocating Threads (ASAT) on the Convex Exemplar
Parallel processing systems have an advantage over traditional supercomputers in price/performance, but traditional supercomputers retain a signiicant advantage over parallel processing systems in the area of exibility. Traditional supercomputers can easily handle a mix of interactive, batch, scalar, vector, parallel, and large memory jobs simultaneously while maintaining high utilization. Ofte...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Parallel Distrib. Comput.
دوره 37 شماره
صفحات -
تاریخ انتشار 1996